1. Field of the invention
The present invention relates to a three-dimensional depth imaging method and system, and more particularly, to a structural light based three-dimensional depth imaging method and system using signal separation coding capable of detecting, removing and correcting corresponding errors between a projection apparatus and an imaging apparatus caused by phenomena such as reflections on an object surface, blurring by a focus, and so on, using geometrical constraints between the projection apparatus and the imaging apparatus. Here, the projection apparatus projects light and the imaging apparatus obtains the light.
2. Description of the Prior Art
Generally, a three-dimensional depth imaging method using structural light is widely used in computer vision, three-dimensional measurement, quality inspection, reverse engineering, robotics, and so on, because the method is appropriate to sense three-dimensional environment. A basic theory of the depth imaging method using structural light as an active stereo technique includes radiating light onto an object using projection means such as a projector, photographing the object, on which the light is radiated, using image receiving means such as a camera, observing a level of distortion of the light by the object, and calculating a distance to the object to obtain a depth image.
FIG. 1 is a schematic view for explaining a theory of a structural light based three-dimensional depth imaging system. As shown in FIG. 1, in order to measure a three-dimensional position of point x of an object 100, the point x is determined as an intersection of a straight line connecting an origin point Op of projection means with point p on a retinal plane 200 of the projection means and a straight line connecting an origin point Oc of image receiving means with point q on a retinal plane 300 of the image receiving means. Therefore, when correction of the projector and the camera is performed, it is possible to obtain the depth image by calculating coordinates of the point x as a pair of addresses of each retinal plane of the points p and q. That is, a major point of the depth imaging method as the stereo technique is to determine a pixel corresponding point between the received image and the projected image. When the corresponding point is determined, it is possible to readily calculate the depth using a simple geometrical method.
In order to increase precision of depth imaging, a light pattern projected from the projection means is coded on a pixel array in a spatial and temporal manner such that a pixel corresponding point of the projection means is solely determined in the image receiving means.
Such a structural light sensing method may be classified into three methods, i.e., a spatial coding method of calculating an address of a code using a sheet of pattern through the relationship with an adjacent code, a temporal coding method of calculating an address using a plurality of sheet patterns through a plurality of code information existing on the same position, and a hybrid coding method using the spatial coding method and the temporal coding method. Hereinafter, the temporal coding method will be described, except the spatial coding method and the hybrid coding method, which are disadvantageous to obtain three-dimensional information in complex environment.
The temporal coding method may be classified into a binary code method, a gray code method, a hierarchical orthogonal code (HOC) method, or the like.
The binary code method is a method of finding a code index using a binary code consisting of 1 and 0, which has an advantage capable of obtaining a precise value using a small number of patterns. However, the code index may be readily affected by adjacent pixels.
The gray code method is a method capable of minimizing affection of the adjacent pixels and obtaining a more precise value by changing the arrangement of a binary code. However, it is impossible for the code index to correct mixing of signals sent from a far place.
The HOC is a code in which the entire codes are divided into several hierarchies and codes in the hierarchies are arranged to have perpendicularity. Using the code, it is possible to find the mixing of the signals in each hierarchy. However, since the HOC is sensitive to effect of the adjacent pixels, similarly to the binary code, a modified HOC (MHOC), into which characteristics of the gray code are engrafted, has been developed. Since the MHOC can readily find the signal mixing, it is possible to minimize errors using the MHOC.
Since the structural light system is a system of projecting light to obtain three-dimensional information, distortion of light may be a major cause of the error. When reflection, focus error, interference of external light, interface, and temporal code are used, motion of the object (when the temporal code is used) during projection of the pattern may also become a factor of the error. When the object is measured through projection and obtaining of the pattern in the static environment, in which the object is not moved, it can be understood that the error is caused by two factors.
One factor is a case that light is scattered at a surface of the object to affect adjacent pixels due to excessive exposure of a camera, and light is out-focused to make the light be burred to the adjacent pixels. The other factor is a case that the error is generated by a far pixel (address) due to reflection, external light, signal mixing of interface.
Spatially scattered patterns may cause dispersion of light due to various reasons, which may be generated due to out-focusing of the camera or projector, or dispersion of the light at the object surface.
FIG. 2A shows an example of the above phenomena, and one point projected from the projector affects adjacent pixels as well as one point of the camera. FIG. 2B shows mixing of signals, which may be generated since regions affected by pixels of the camera and projector are different from each other. The signal mixing is generated due to geometrical affection of the object, the camera and the projector. In order to minimize the error due to the adjacent pixels, a gray code for making a code similar to the adjacent pixels may be used.
The errors generated due to reflection, affection of external factors, and mixing of signals cause a large pixel-wise error. Therefore, to solve these problems is a major task of the current structural light system.
FIG. 3A shows an example of an error due to reflection. Light projected from a code A is reflected from point P1 to be transmitted to point P2. However, light projected from a code B is previously positioned at the point P2. In this case, two signals of the codes A and B are mixed at the camera pixel. Since an error due to the interface and the external factor also affects similarly to the error due to the reflection, intrusion of external light during projection and reception of the pattern makes it difficult to determine whether the light is pattern light or not. FIG. 3B shows mixing of signals generated at the interface, and it will be appreciated that signals a and c are mixed at a pixel of a charge coupled device (CCD).
Previous researches have made efforts to change only a code in order to control a factor of the error. However, a research for basically solving the problems has not been performed.
Therefore, in order to precisely and stably obtain three-dimensional image information, a novel approach is still required.